Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра АСУ
Лабораторна Робота №1
з дисципліни:
«Архітектура комп’ютерів»
Загальна структура мікролабораторії і процесора.
Львів - 2011
Мета: Вивчити структуру мікролаборатоії і процесора, і після чого написати програму за вказівками поданими нижче.
Мікролабораторія являє собою мікрокомп'ютер на базі однокристального мікропроцесора "КР580ИК80А ".
У мікропроцесорі є такі 8-бітні регістри :
А-акумулятор, в якому знаходиться результат виконання довільної арифметико-логічної 8-бітної операції;
F-регістр прапорців (ознак);
В, С, D, Е, H, L-регістри загального призначення. Вони об'єднуються у 16-бітні регістри по парах:AF, BC,DE, HL.
Команда може займати від одного до трьох байтів: перший байт -код операції, другий та третій - 8-бітний або 16-бітний операнд (в залежності від операції).
Після виконання арифметико-логічної команди в мікропроцесорі встановлюються ознаки результату, які зберігаються у двійковому вигляді і називаються прапорцями. У більшості мікропроцесорів існують стандартні прапорці :
CARRI-перенос за межі регістра;
ZERO - нульовий результат;
PARITY- результат має парну кількість одиничок;
SIGN - знак числа (старший біт результату);
На прапорці не впливають команди пересилки, розгалуження та вводу-виводу.
Завдяки існуванню прапорців обчислювальний процес може розгалужуватись трьома видами команд:
1. Умовними переходами на мітку в залежності від стану прапорців
2. Умовними викликами підпрограм;
3. Поверненнями з підпрограм за станом прапорців.
Мнемоніка розгалужуюгих команд:
Команди розгалуження розділяються на умовні переходи (J), умовні виклики (С), умовні повернення (R):
JC, СС, RC - перехід виконується, якщо встановлений прапорець переносу;
JNC, CNC, RNC - виконується, якщо немає переносу;
JZ, CZ, RZ - виконується, якщо нуль;
JNZ, CNZ, RNZ- виконується, якщо не нуль;
JP, СР, RP - виконується, якщо результат додатній;
JM, CM, RM - виконується, якщо результат від'ємний;
JPO, СРО, RPO - виконується, якщо встановлений прапорець парності;
JPE, CPE, RPE - виконується, якщо не встановлений прапорець парності.
На стан прапорців не впливають такі команди:
команди переходу; команди виклику підпрограм; команди повернень з підпрограм, а також:
"ІNX" - 16- бітного інкременту;
"DCX" - 16- бітного декременту;
Вводу "IN", виводу "ОUТ" ;
Регістрові пересилки "MOV', "SHPL";
"ХСНG"-обміну регістрових пар "DE" і "HL"
"XTHL"- обміну верхівки стека і "HL";
"MVI"-завантаження регістра;
"LXI"- завантаження регістрової пари;
"PUSH" - опускання в стек регістрової пари;
"POP"- виймання із стека регістрової пари;
"NOP" порожня команда;
"LDA" та "LDAX"- читання з пам'яті в акумулятор за безпосередньою адресою або за адресою, яка знаходиться в регістровій парі;
"STA" та "STAX"- аналогічні команді-запису –акумулятора в пам'ять;
"LHLD" - читання двох байт по безпосередній адресі та завантаження їх у регістрову пару "HL";
"SHLD"- запис "HL" в пам'ять (протилежна команда).
Решта команд встановлюють прапорці відповідно з їх призначенням:
"INR", "DCR" - восьмибітного інкременту та декременту :
арифметичні команди ADD, ADC, ADI, SUB, SBB, SUI;
логічні команди ANA, ORA, XRA;
команди порівняння CMP, CPI;
- команди зсуву через перенос та спеціальні команди RAL, RAR- додавання регістрових пар до пари HL - DAD;
У мікропроцесорі існують спеціальні 16- бітні регістри :
SP - вказівник стеку;
PC - програмний лічильник.
У "PC" знаходиться адреса команди, де на даний момент виконується програма.
Стек - це організація даних за принципом - останій увійшов, першим вийшов. У "SP" знаходиться адреса верхівки стека. Якщо у стек записуються дані (командою "PUSH") або адреса (командами виклику підпрограм), то "SP" зменшується на 2, тобто стек зростає від кінця пам'яті до початку.
Пам'ять розділено на постійну і оперативну, у постійній пам'яті знаходиться монітор - програма, на яку передається управління після натиснення клавіші "СБРОС". Монітор дозволяє...